<?php

class WxopController extends Controller
{

    /*
    * 添加
    *
    */
    public function actionSaveSourceData()
    {

        try {
            //检测
            //$user_id = SessionService::getUserIDBySessionid();

            //参数验证
            $ToUserName = Util::getParamNotEmpty("tousername");
            $FromUserName = Util::getParamNotEmpty("fromusername");
            $CreateTime = Util::getParamNotEmpty("createtime");
            $MsgType = Util::getParamNotEmpty("msgtype");
            $Content = Util::getParamNotEmptyDefaultNull("content");
            $MsgId = Util::getParamNotEmpty("msgid");
            $MediaId = Util::getParamNotEmptyDefaultNull("mediaid");
            $PicUrl = Util::getParamNotEmptyDefaultNull("picurl");
            $Format = Util::getParamNotEmptyDefaultNull("format");
            $ThumbMediaId = Util::getParamNotEmptyDefaultNull("thumbmediaid");
            $Label = Util::getParamNotEmptyDefaultNull("label");
            $Location_X = Util::getParamNotEmptyDefaultNull("location_x");

            $Location_Y = Util::getParamNotEmptyDefaultNull("location_y");
            $Scale = Util::getParamNotEmptyDefaultNull("scale");
            $Url = Util::getParamNotEmptyDefaultNull("url");
            $Title = Util::getParamNotEmptyDefaultNull("title");
            $Description = Util::getParamNotEmptyDefaultNull("description");
            $process = Util::getParamNotEmptyDefaultNull("process");
            $localaddr = Util::getParamNotEmptyDefaultNull("localaddr");

            $wxsuid = Util::getParamNotEmptyDefaultNull("wxsuid");
            $recognition = Util::getParamNotEmptyDefaultNull("recognition");





            //添加
            $obj = new WxSourceData();
            Util::initObjDataInfo($obj);


            $obj->ToUserName = $ToUserName;
            $obj->FromUserName = $FromUserName;
            $obj->CreateTime = $CreateTime;
            $obj->MsgType = $MsgType;
            $obj->Content = $Content;
            $obj->MsgId = $MsgId;
            $obj->MediaId = $MediaId;
            $obj->PicUrl = $PicUrl;
            $obj->Format = $Format;
            $obj->ThumbMediaId = $ThumbMediaId;
            $obj->Label = $Label;
            $obj->Location_X = $Location_X;
            $obj->Location_Y = $Location_Y;
            $obj->Scale = $Scale;
            $obj->Url = $Url;
            $obj->Title = $Title;

            $obj->Description = $Description;
            $obj->process = $process;
            $obj->localaddr = $localaddr;
            $obj->wxsuid = $wxsuid;
            $obj->recognition = $recognition;


            Util::saveObjData($obj);


            //返回数据
            Util::responseMsg(MsgConst::RETURN_SUCCESS);


        } catch (Exception $e) {
            Util::responseErrorMsg($e->getMessage());

        }
    }

    /*
    * 获取token
    *
    */
    public function actiongettoken()
    {
        try {
            //参数验证

            //检测
           // $user_id = SessionService::getUserIDBySessionid();



            $wx_id = Util::getParamNotEmpty("wx_id");
            //获取list
            $info = WXService::getWXToken($wx_id);


                //返回数据
            //Util::responseList(count($list), $list);
            Util::responseObj($info);


            } catch (Exception $e) {
            Util::responseErrorMsg($e->getMessage());

        }
    }

    /*
    * 添加token
    *
    */
    public function actionAddToken()
    {

        try {
            //检测
           // $user_id = SessionService::getUserIDBySessionid();

            //参数验证
            $Token_Num = Util::getParamNotEmpty("Token_Num");
            $Is_Active = Util::getParamNotEmpty("Is_Active");
            $Expire_Time = Util::getParamNotEmpty("Expire_Time");
            $wx_id = Util::getParamNotEmpty("wx_id");


            //添加
            $obj = new WxTokenlist();
            Util::initObjDataInfo($obj);


            $obj->Token_Num = $Token_Num;
            $obj->Is_Active = $Is_Active;
            $obj->Expire_Time = $Expire_Time;
            $obj->wx_id = $wx_id;


            Util::saveObjData($obj);


            //返回数据
            Util::responseMsg(MsgConst::RETURN_SUCCESS);


        } catch (Exception $e) {
            Util::responseErrorMsg($e->getMessage());

        }
    }

    /*
    * 获取用户列表分页
    *
    */
    public function actionGetWXUserList()
    {

        try {
            //参数验证

            //检测
            $user_id = SessionService::getUserIDBySessionid();


            $searchsql = Util::initSearchSql();
            $searchsql = Util::getSerarchStr($searchsql,"Weixin_Name","Weixin_Name");


            //获取count
            $totalcount = WxUser::model()->count($searchsql);

                //排序
                $searchsql = $searchsql . " order by create_time desc";

                //加上分页控制
                $searchsql = Util::addLimitSql($searchsql);

                //获取list
                $list = WxUser::model()->findAll($searchsql);


                Util::responseList($totalcount, $list);

            } catch (Exception $e) {
            Util::responseErrorMsg($e->getMessage());

        }


    }

    /*
    * 获取用户信息
    *
    */
    public function actionGetWXUserinfo()
    {
        try {
            //参数验证

            //检测
           // $user_id = SessionService::getUserIDBySessionid();

            $wx_id = Util::getParamNotEmpty("wx_id");
            $open_id = Util::getParamNotEmpty("open_id");



            $user = WXService::getWXUserinfo($wx_id,$open_id);

            Util::responseObj($user);


            } catch (Exception $e) {
            Util::responseErrorMsg($e->getMessage());

        }
    }

    /*
    * 取消关注
    *
    */
    public function actionunsubscribuser()
    {

        try {
            //检测
            //$user_id = SessionService::getUserIDBySessionid();

            //参数验证
            $wx_id = Util::getParamNotEmpty("wx_id");
            $open_id = Util::getParamNotEmpty("open_id");


            $user  = WxUser::model()->find("Weixin_ID=:Weixin_ID ",
                array(":Weixin_ID" => $open_id));
            Util::checkExistAndNotDelete($user);

            if(empty($user)==false)
            {
                $user->subscribe = 0;
                Util::updateObjDataInfo($user);
                Util::saveObjData($user);
            }




            //返回数据
            Util::responseMsg(MsgConst::RETURN_SUCCESS);


        } catch (Exception $e) {
            Util::responseErrorMsg($e->getMessage());

        }
    }


    /*
    * 修改菜单
    *
    */
    public function actionUpdateWXMenu()
    {

        try {
            //检测
            //$user_id = SessionService::getUserIDBySessionid();

            //参数验证
            $wx_id = Util::getParamNotEmpty("wx_id");

            $wxmenulist=  WXService::updateMenuinfo($wx_id);

            Util::responseObj($wxmenulist);


            //返回数据
           // Util::responseMsg(MsgConst::RETURN_SUCCESS);


        } catch (Exception $e) {
            Util::responseErrorMsg($e->getMessage());

        }
    }


}